package cn.sfrog.project.biz.admin.mapper;

import cn.sfrog.project.biz.admin.domain.BizDoctor;
import cn.sfrog.project.biz.admin.domain.vo.BizDoctorQueryVO;
import cn.sfrog.project.biz.admin.domain.vo.BizDoctorVO;
import cn.sfrog.project.biz.web.vo.index.AppDoctorDetailResultVO;
import cn.sfrog.project.biz.web.vo.index.AppDoctorManyQueryVO;
import cn.sfrog.project.biz.web.vo.index.AppDoctorQueryVO;
import cn.sfrog.project.biz.web.vo.index.AppDoctorResultVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 医生Mapper接口
 */
@Mapper
public interface BizDoctorMapper extends BaseMapper<BizDoctor> {
    /**
     * 查询医生
     *
     * @param id 医生主键
     * @return 医生
     */
    BizDoctorVO selectBizDoctorById(Long id);

    /**
     * 查询医生列表
     *
     * @param query 医生
     * @return 医生集合
     */
    List<BizDoctorVO> selectBizDoctorList(BizDoctorQueryVO query);

    /**
     * 查询APP首页名医列表-三条
     * @param queryVO
     * @return
     */
    List<AppDoctorResultVO> selectAppIndexDoctorList(AppDoctorQueryVO queryVO);

    /**
     * APP-查询科室下的医生
     * @param departmentId
     * @return
     */
    List<AppDoctorResultVO> selectAppDoctorListByDepartmentId(@Param("departmentId") Long departmentId);

    /**
     * APP-查询医生详情
     * @param id
     * @return
     */
    AppDoctorDetailResultVO selectAppDoctorDetail(@Param("id") Long id);

    /**
     * APP-查询名医推荐列表
     * @param queryVO
     * @return
     */
    List<AppDoctorDetailResultVO> selectAppFamousDoctorList(AppDoctorQueryVO queryVO);


    /**
     * APP-查询医生列表
     * @param queryVO
     * @return
     */
    List<AppDoctorDetailResultVO> selectAllHospitalDoctorList(AppDoctorManyQueryVO queryVO);
}
